﻿
 

CREATE FUNCTION JSONEscaped ( /* this is a simple utility function that takes a SQL String with all its clobber and outputs it as a sting with all the JSON escape sequences in it.*/

  @Unescaped NVARCHAR(MAX) --a string with maybe characters that will break json

  )

RETURNS NVARCHAR(MAX)

AS

BEGIN

  SELECT  @Unescaped = REPLACE(@Unescaped, FROMString, TOString)

  FROM    (SELECT

            '\"' AS FromString, '"' AS ToString

           UNION ALL SELECT '\', '\\'

           UNION ALL SELECT '/', '\/'

           UNION ALL SELECT  CHAR(08),'\b'

           UNION ALL SELECT  CHAR(12),'\f'

           UNION ALL SELECT  CHAR(10),'\n'

           UNION ALL SELECT  CHAR(13),'\r'

           UNION ALL SELECT  CHAR(09),'\t'

          ) substitutions

RETURN @Unescaped

END